package com.guodu.base;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;

@SuppressWarnings("rawtypes")
public abstract interface IBaseDao
{
  public abstract void attachClean(Object paramObject);

  public abstract void createCriteria(Criteria paramCriteria, Map paramMap1, Map paramMap2, boolean paramBoolean);

  public abstract Query createQuery(Session paramSession, String paramString, Object[] paramArrayOfObject);

  public abstract Query createQuery(String paramString, Object[] paramArrayOfObject);
  
  public abstract void delete(Class paramClass, Serializable paramSerializable);

  public abstract void delete(Object paramObject);

  public abstract void deleteAll(Collection paramCollection);

  public abstract void deleteAllById(Class paramClass, Serializable[] paramArrayOfSerializable);

  public abstract int executeUpdate(String paramString);

  public abstract int executeUpdate(String paramString, Object[] paramArrayOfObject);

  public abstract void fillCriteria(Criteria paramCriteria, Object paramObject);

  public abstract List find(String paramString);

  public abstract List find(String paramString, Object[] paramArrayOfObject);

  public abstract List findAll(Class paramClass);

  public abstract List findByExample(Object paramObject);

  public abstract Object findById(Class paramClass, Serializable paramSerializable);

  public abstract Set findByIds(Class paramClass, Serializable[] paramArrayOfSerializable);

  public abstract List findByProperty(Class paramClass, String paramString, Object paramObject);

  public abstract Integer findCount(Class paramClass);

  public abstract Integer findCount(Class paramClass, String paramString, Object[] paramArrayOfObject);

  public abstract Integer findInt(String paramString);

  public abstract Integer findInt(String paramString, Object[] paramArrayOfObject);

  public abstract Long findLong(String paramString);

  public abstract Long findLong(String paramString, Object[] paramArrayOfObject);

  public abstract Long findLongCount(Class paramClass);

  public abstract Long findLongCount(Class paramClass, String paramString, Object[] paramArrayOfObject);

  public abstract List findPages(Object paramObject, Class paramClass, int paramInt1, int paramInt2, boolean paramBoolean, String paramString, String[] paramArrayOfString);

  public abstract List findPages(String paramString, int paramInt1, int paramInt2, List paramList);

  public abstract Object findUnique(String paramString, Object[] paramArrayOfObject);

  public abstract Object findUniqueByProperty(Class paramClass, String paramString, Object paramObject);

  public abstract boolean isPropertyUnique(Class paramClass, String paramString, Object paramObject1, Object paramObject2);

  public abstract Object load(Class paramClass, Serializable paramSerializable);

  public abstract List loadAll(Class paramClass);

  public abstract Object merge(Object paramObject);

  public abstract void save(Object paramObject);

  public abstract void saveOrUpdate(Object paramObject);

  public abstract void saveOrUpdateAll(Collection paramCollection);

  public abstract void update(Object paramObject);
}
